1. Field of the Invention
This invention relates to multithreaded processors and, more particularly, to sharing hardware resources between a number of requesters.
2. Description of the Related Art
To continually improve computer system performance, computer processor designs have been improved in a number of ways. Microarchitectures have evolved from single execution unit machines to superscalar designs having multiple pipelines and multiple execution units. To accommodate changing processing environments such as server based applications, for example, a more recent processor design trend includes multithreaded processors capable of executing multiple threads concurrently.
One aspect of multithreading capability may involve providing multiple functional hardware resources for the various threads to use. For example, in a multithreaded processor, different threads may each execute multiply operations. Thus, there may potentially be several types of multiply operations going on in parallel each requesting multiplier resources.
In addition, recent computer applications are becoming more reliant on the performance of cryptographic operations. Many cryptographic operations require the use of a 64-bit or wider multiplier. Thus, one design choice might be to include additional multiplier hardware. However, since many applications do not yet heavily utilize cryptographic operations, it may be difficult to justify adding a dedicated cryptographic multiplier to a processor due to the die area required by the additional hardware.